b4136b6d6e40175b34dffeba560c9f4cb2d64b79,java/src/org/broadinstitute/sting/playground/gatk/walkers/MendelianInheritanceWalker.java,MendelianInheritanceWalker,map,#RefMetaDataTracker#char#LocusContext#,24
Before Change
AllelicVariant dad = (rodSAMPileup)rodData.lookup("father", null);
AllelicVariant kid = (rodSAMPileup)rodData.lookup("daughter", null);
if ( ! hasCall(mom) || ! hasCall(dad) || ! hasCall(kid) ) return t; // at least one person is not called; nothing to do, bail out
// proceed only if we got confident calls
t.assessed_loci = 1;
if ( ! mom.isBiallelic() || ! dad.isBiallelic() || ! kid.isBiallelic() ) {
t.non_biallelic = 1; // we currently ignore non-biallelic sites
return t;
}
// ok, we got a call and it is biallelic (at most)
if ( mom.isReference() && dad.isReference() && kid.isReference() ) { // got all refs, we are done
t.consistent_ref = 1;
return t;
}
// by now we know that there's a SNP
String kid_allele_1 = kid.getGenotype().get(0);
String kid_allele_2 = kid.getGenotype().get(1);
List<String> mom_alleles = mom.getGenotype();
List<String> dad_alleles = dad.getGenotype();
// kid must have one allele from mom and one allele from dad if it's not X chromosome!
if ( mom_alleles.contains(kid_allele_1) && dad_alleles.contains(kid_allele_2) ||
mom_alleles.contains(kid_allele_2) && dad_alleles.contains(kid_allele_1) ) {
t.consistent_snp = 1;
logger.info("consistent SNP at "+context.getLocation() +
"("+ref+") " + mom_alleles.get(0)+"/" +mom_alleles.get(1) + " " +
dad_alleles.get(0)+"/" +dad_alleles.get(1) + " " +
kid_allele_1+"/" +kid_allele_2
);
After Change
AllelicVariant dad = (rodSAMPileup)rodData.lookup("father", null);
AllelicVariant kid = (rodSAMPileup)rodData.lookup("daughter", null);
if ( hasCall(mom)) t.mom_assessed = 1;
if ( hasCall(dad)) t.dad_assessed = 1;
if ( hasCall(kid)) t.kid_assessed = 1;